GUPU: A Prolog Course Environment and its Programming Methodology (Poster Abstract)

نویسنده

  • Ulrich Neumerkel
چکیده

GUPU is a programming environment specialized for Prolog programming courses which supports a novel way to teaching Prolog. The major improvement in teaching Prolog concerns how programs are read and understood. While the traditional approach covers Prolog’s execution mechanism and its relation to mathematical logic we confine ourselves to reading programs informally as English sentences. The student’s attention remains focused on a program’s meaning instead of details like proof trees or execution traces. Informal reading is limited to short predicates. Larger predicates translate into incomprehensible sentences cluttered with referents and connectives. To overcome this problem a simple reading technique is presented that does not translate the whole predicate at once into English. Only parts of a predicate are considered. The remainder (e.g. some clauses, goals, arguments) is neglected for the moment. In this manner incomprehensible sentences are avoided. Our reading technique extends well to the more procedural aspects of Prolog like termination and resource consumption. The reading technique allows to reason about a program (e.g. understanding, detecting errors) in an efficient static manner while avoiding reference to superfluous details of the computation. GUPU supports this approach with a side effect free programming environment. Programs are subject to restrictions which ease informal reading and catch many mostly syntactic and stylistic errors. The cumbersome ‘‘type and forget’’-style top-level shell is replaced by a side effect free mode of interaction which also improves coding style by allowing to write tests before coding a predicate. The partial evaluator Mixtus is seamlessly integrated into GUPU.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Declarative program development in Prolog with GUPU

We present the side-effect free programming course environment GUPU that seamlessly guides and supports students during all phases of program development covering specification, implementation, and program debugging. GUPU features several innovations in this area. The specification phase is supported by reference implementations augmented with diagnostic facilities. During implementation, immed...

متن کامل

A Prolog-based Environment for Reasoning about Programming Languages (Extended abstract)

ECLAIR is a Prolog-based prototype system aiming to provide a functionally complete environment for the study, development and evaluation of programming language analysis and implementation tools. In this paper, we sketch the overall structure of the system, outlining the main methodologies and technologies underlying its components. We also discuss the appropriateness of Prolog as the implemen...

متن کامل

Delta Prolog: a Distributed Logic Programming Language and Its Implementation on Distributed Memory Multiprocessors

Delta Prolog is a logic programming language extending Prolog with constructs for sequential and parallel composition of goals, interprocess communication and synchronization , and external non-determinism. We present sequential and parallel search strategies for the language, based on the notion of derivations space. They rely upon distributed backtracking, a mechanism supporting the coordinat...

متن کامل

A Layered Architecture for Group-oriented Parallel and Distributed Logic Programming Jos

The work we describe in this paper is part of an ongoing project which aims at the development of an integrated parallel and distributed programming environment for a heterogeneous network with multicomputer nodes. Several programming language models and parallel programming tools will be supported in the environment, on top of a common software platform that interfaces with the underlying oper...

متن کامل

Prolog Execution Engines for Description Logic Reasoners

Introduction. The goal of this poster is to present some Prolog-based [3] alternatives for Description Logic ABox-reasoning. We believe that Prolog can be used well for extending DL formalisms with rules. The top-down executional mechanism of Prolog suits the ABox-reasoning task by ignoring irrelevant data, and it is also worth to mention that the Prolog community has been developping Prolog fo...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996